Micron Document
██████╗ ███████╗████████╗██╗██████╗ ███████╗██████╗ ██╗ █████╗
██╔══██╗██╔════╝╚══██╔══╝██║██╔══██╗██╔════╝██╔══██╗██║██╔══██╗
██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ██║ ██║██║███████║
██╔══██╗██╔══╝ ██║ ██║██╔═══╝ ██╔══╝ ██║ ██║██║██╔══██║
██║ ██║███████╗ ██║ ██║██║ ███████╗██████╔╝██║██║ ██║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═════╝ ╚═╝╚═╝ ╚═╝


🬧 The NomadNet Encyclopedia | Archives | Info
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b

🔍 Search

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

RC6
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
In crittografia, mwbqRC6 è un mwbgcifrario a blocchi a mwbwchiave simmetrica derivato da mwcaRC5. È stato ideato da mwcqRonald Rivest, Matt Robshaw, Ray Sidney, e Yiqun Lisa Yin per soddisfare i requisiti della competizione indetta per mwdqAdvanced Encryption Standard (AES), uno standard di cifratura adottato dal governo USA. L'algoritmo è stato uno dei cinque finalisti, ed è stato anche presentato ai progetti mwdgNESSIE e mwdwCRYPTREC. Si tratta di un algoritmo proprietario, brevettato da mweaRSA Security.

Contents


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Descrizione

L'RC6 lavora su mwfablocchi di 128 mwfqbit e supporta mwfgchiavi di 128, 192 e 256 bit ma, come l'RC5, può essere reso parametrico per supportare una vasta gamma di lunghezze della mwfwmwgaword, della dimensione della chiave e del numero di passaggi. L'RC6 è molto simile all'RC5 nella struttura, utilizzando rotazioni che dipendono dai dati, mwgqaddizioni modulari e operazioni di mwggXOR; in effetti, l'RC6 potrebbe essere considerato come due processi paralleli di crittografia RC5 "intrecciati". Tuttavia l'RC6 utilizza un'ulteriore operazione di moltiplicazione non presente nell'RC5 al fine di rendere la rotazione dipendente da ogni bit di una mwgwword, e non solo dai meno significativi.

Cifratura/Decifratura

// Cifratura/Decifratura con RC6-w/r/b
//
// Input: Testo in chiaro memorizzato in quattro registri d'ingresso A, B, C e D
// di dimensione pari a w bit
// r è il numero di passaggi chiavi di iterazione S[0, ... , 2r + 3]
// di dimensione pari a w bit
//
// Output: Testo cifrato memorizzato in A, B, C, D
//
// '''Procedura di Cifratura:'''
B = B + S[0]
D = D + S[1]
for i = 1 to r do
{
t = (B(2B + 1)) <<< lg w
u = (D(2D + 1)) <<< lg w
A = ((A ^ t) <<< u) + S[2i]
C = ((C ^ u) <<< t) + S[2i + 1]
(A, B, C, D) = (B, C, D, A)
}
A = A + S[2r + 2]
C = C + S[2r + 3]
// '''Procedura di Decifratura:'''
C = C - S[2r + 3]
A = A - S[2r + 2]
for i = r downto 1 do
{
(A, B, C, D) = (D, A, B, C)
u = (D.(2D + 1)) <<< lg w
t = (B.(2B + 1)) <<< lg w
C = ((C - S[2i + 1]) >>> t) ^ u
A = ((A - S[2i]) >>> u) ^ t
}
D = D - S[1]
B = B - S[0]

Licenza

Dato che l'RC6 non è stato selezionato come algoritmo per l'Advanced Encryption Standard, non è garantito che sia gratuito. A gennaio 2007, una mw-qpagina web sul sito ufficiale degli sviluppatori di RC6, RSA Laboratories, affermava quanto segue:

"Sottolineiamo che mwaqase RC6 sarà selezionato per l'AES, RSA Security mwaqenon richiederà alcuna concessione di licenza o pagamento per i prodotti che utilizzano l'algoritmo".

L'enfasi sulla parola mwaqmse portava a pensare che RSA Security Inc. avrebbe potuto richiedere un pagamento per la licenza d'uso per tutti quei prodotti che avrebbero utilizzato l'algoritmo RC6 ma i brevetti su cui si basa (http://patft.uspto.gov/netacgi/nph-Parser?patentnumber=5724428 e http://patft.uspto.gov/netacgi/nph-Parser?patentnumber=5835600 ) sono ormai scaduti fra il 2015 ed il 2017.

Bibliografia

• R.L. Rivest, M.J.B. Robshaw, R.Sidney, e Y.L. Yin. mwaq8Il Cifrario a Blocchi RC6 v1.1, Agosto 1998.
• J. Beuchat mwareFPGA Implementazione del Cifrario a Blocchi RC6.

Voci correlate

• mwaruRC2
• mwarcRC4
• mwarkRC5

Collegamenti esterni

• mwar8Implementazione di riferimento e derivata, su embeddedsw.net.
• mwaseCosa sono RC6, su rsasecurity.com (archiviato dall'url originale il 16 ottobre 2006).
• mwasmSCAN del cifrario RC6, su users.zetnet.co.uk.